package com.wjm.databaseframework.sub_sqlite;

import android.util.Log;

import com.wjm.databaseframework.bean.User;
import com.wjm.databaseframework.db.BaseDao;

import java.util.List;

/**
 * 用于维护公有数据
 */
public class UserDao extends BaseDao<User> {

    /**
     * 模拟比如换账号登录时，用户变了，把公共数据中的用户状态都改为0再设置当前用户状态为1
     *
     * @param entity
     * @return
     */
    @Override
    public long insert(User entity) {
        //查到表中所有的用户记录
        List<User> list = query(new User());
        User where = null;
        for (User user : list) {
            where = new User();
            where.setId(user.getId());
            user.setStatus(0);
            Log.i("jett", "用户" + user.getName() + "更改为未登录状态");
            update(user, where);
        }
        Log.i("jett", "用户" + entity.getName() + "登录");
        entity.setStatus(1);
        return super.insert(entity);
    }

    /**
     * 得到当前登录的User
     */
    public User getCurrentUser() {
        User user = new User();
        user.setStatus(1);
        List<User> list = query(user);
        if (list.size() > 0) {
            return list.get(0);
        }
        return null;
    }
}
